From 690ce845f726424b8aeee178dcfec32eeeabdc2d Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Mon, 29 Feb 2016 22:13:11 -0800 Subject: [PATCH] Remove usage of PathSource::for_path This does much more I/O than Package::for_path and this is also on its way out. --- src/bin/read_manifest.rs | 8 ++------ src/cargo/ops/cargo_output_metadata.rs | 16 +++++----------- src/cargo/ops/cargo_package.rs | 5 +++-- 3 files changed, 10 insertions(+), 19 deletions(-) diff --git a/src/bin/read_manifest.rs b/src/bin/read_manifest.rs index 141ebfff9..1cbb0cff8 100644 --- a/src/bin/read_manifest.rs +++ b/src/bin/read_manifest.rs @@ -1,9 +1,8 @@ use std::env; -use cargo::core::{Package, Source}; +use cargo::core::Package; use cargo::util::{CliResult, Config}; use cargo::util::important_paths::{find_root_manifest_for_wd}; -use cargo::sources::{PathSource}; #[derive(RustcDecodable)] pub struct Options { @@ -32,9 +31,6 @@ pub fn execute(options: Options, config: &Config) -> CliResult> let root = try!(find_root_manifest_for_wd(options.flag_manifest_path, config.cwd())); - let mut source = try!(PathSource::for_path(root.parent().unwrap(), config)); - try!(source.update()); - - let pkg = try!(source.root_package()); + let pkg = try!(Package::for_path(&root, config)); Ok(Some(pkg)) } diff --git a/src/cargo/ops/cargo_output_metadata.rs b/src/cargo/ops/cargo_output_metadata.rs index 7a037828d..79b308053 100644 --- a/src/cargo/ops/cargo_output_metadata.rs +++ b/src/cargo/ops/cargo_output_metadata.rs @@ -3,9 +3,8 @@ use std::path::Path; use rustc_serialize::{Encodable, Encoder}; use core::resolver::Resolve; -use core::{Source, Package, PackageId, PackageSet}; +use core::{Package, PackageId, PackageSet}; use ops; -use sources::PathSource; use util::config::Config; use util::CargoResult; @@ -35,10 +34,9 @@ pub fn output_metadata(opt: OutputMetadataOptions, config: &Config) -> CargoResu } fn metadata_no_deps(opt: OutputMetadataOptions, config: &Config) -> CargoResult { - let mut source = try!(PathSource::for_path(opt.manifest_path.parent().unwrap(), config)); - + let root = try!(Package::for_path(opt.manifest_path, config)); Ok(ExportInfo { - packages: vec![try!(source.root_package())], + packages: vec![root], resolve: None, version: VERSION, }) @@ -112,14 +110,10 @@ fn resolve_dependencies<'a>(manifest: &Path, features: Vec, no_default_features: bool) -> CargoResult<(PackageSet<'a>, Resolve)> { - let mut source = try!(PathSource::for_path(manifest.parent().unwrap(), config)); - try!(source.update()); - - let package = try!(source.root_package()); - + let package = try!(Package::for_path(manifest, config)); ops::resolve_dependencies(&package, config, - Some(Box::new(source)), + None, features, no_default_features) } diff --git a/src/cargo/ops/cargo_package.rs b/src/cargo/ops/cargo_package.rs index 3ab236426..bf173f164 100644 --- a/src/cargo/ops/cargo_package.rs +++ b/src/cargo/ops/cargo_package.rs @@ -16,8 +16,9 @@ pub fn package(manifest_path: &Path, verify: bool, list: bool, metadata: bool) -> CargoResult> { - let mut src = try!(PathSource::for_path(manifest_path.parent().unwrap(), - config)); + let path = manifest_path.parent().unwrap(); + let id = try!(SourceId::for_path(path)); + let mut src = PathSource::new(path, &id, config); let pkg = try!(src.root_package()); if metadata { -- 2.30.2